package models

import (
	"github.com/jinzhu/gorm"
)

// Comment 评论模型
type Comment struct {
	gorm.Model
	PostID   uint   `gorm:"not null" json:"post_id"`       // 外键，指向文章表
	UserID   uint   `gorm:"not null" json:"user_id"`       // 外键，指向用户表
	ParentID *uint  `gorm:"default:NULL" json:"parent_id"` // 自关联，支持二级评论
	Content  string `gorm:"type:text" json:"content"`

	// 关系映射
	Replies []Comment `gorm:"foreignKey:ParentID" json:"replies"`            // 子评论
	User    User      `gorm:"foreignKey:UserID;references:ID" json:"author"` // 作者信息
}

// TableName 定义数据库表名
func (Comment) TableName() string {
	return "comments"
}
